package com.epadmin.instruktor.kartyPracy;

import com.ep.general.ActionSupportCustom;
import com.ep.general.admin.Administrator;
import com.ep.general.instruktor.kartypracy.KartaPracyMdt;
import com.ep.general.instruktor.kartypracy.StatusKartyPracy;
import com.ep.general.instruktor.kartypracy.db.KartaPracy;
import com.epadmin.app.login.LoginRequierd;

public class KartyAction extends ActionSupportCustom<Administrator> implements LoginRequierd {

	private static final long serialVersionUID = -1391069290172586150L;
	private int instruktorId;
	private int kartaId;
	private KartaPracyMdt kartaPracyMdt;

	public String list() {
		setDataArray(new KartyView().get(instruktorId));
		return DATA_ARRAY;
	}

	public String zatwierdz() {
		KartaPracy kartaPracy = new KartaPracyMdt().get(kartaId);

		if (kartaPracy.getStatusKarty() == StatusKartyPracy.ZATWIERDZONA) {
			setText("Karta pracy została już zatwierdzona");
			return TEXT_RESULT;
		}
		
		kartaPracy.setStatusKarty(StatusKartyPracy.ZATWIERDZONA);
		getKartaPracyMdt().makePersistent(kartaPracy);
		
		setText("Karta pracy została oznaczona jako zatwierdzona");
		return TEXT_RESULT;
	}

	public String odrzuc() {
		KartaPracy kartaPracy = new KartaPracyMdt().get(kartaId);
		
		if (kartaPracy.getStatusKarty() == StatusKartyPracy.NIE_ZATWIERDZONA) {
			setText("Karta pracy została już odrzucona");
			return TEXT_RESULT;
		}

		kartaPracy.setStatusKarty(StatusKartyPracy.NIE_ZATWIERDZONA);
		getKartaPracyMdt().makePersistent(kartaPracy);
		
		setText("Karta pracy została oznaczona jako odrzucona");
		return TEXT_RESULT;
	}

	public int getInstruktorId() {
		return instruktorId;
	}

	public void setInstruktorId(int instruktorId) {
		this.instruktorId = instruktorId;
	}

	public int getKartaId() {
		return kartaId;
	}

	public void setKartaId(int kartaId) {
		this.kartaId = kartaId;
	}

	private KartaPracyMdt getKartaPracyMdt() {
		if (kartaPracyMdt == null)
			kartaPracyMdt = new KartaPracyMdt();
		return kartaPracyMdt;
	}

}
